## Packages used for thesis analysis
knitr::opts_chunk$set(echo = TRUE)
packages_needed <- c("ggplot2", # graphics
                     "arm", # display() etc.
                     "ggfortify", # check model assumptions
                     "AICcmodavg",
                     "grid"
                     )
pk_to_install <- packages_needed [!( packages_needed %in% rownames(installed.packages())  )]
if(length(pk_to_install)>0 ){
  install.packages(pk_to_install,repos="http://cran.r-project.org")
}
#lapply(packages_needed, require, character.only = TRUE)
library(ggplot2)
library(arm)
library(ggfortify)
library(AICcmodavg)
library(grid)
library(tidyr)
library(dplyr)
library(knitr)
library(readr)
library(nlme)
library(lme4)
library(MuMIn)
library(readr)
library(rgdal)
library(ggplot2)
library(plyr)
library(arm)
library(MASS)
library(ggfortify)
library(AICcmodavg)
library(pspearman)
library(patchwork)
library(cowplot)
library(rmdformats)

Introduction

Life history suggest that individuals adopt optimized allocation strategies to partition available energy to the competing processes of maintenance, growth, and reproduction (Fisher 1930; Stearns 1976; Congdon and Tinkle 1982; Congdon et al. 1982). Reproductive output is constrained by both energy availability and by limitations of the environment (James and Whitford 1994).Thus, the energetic resources available for reproduction are finite and often tradeoffs exist between allocating energy towards mate acquisition (search time and courtship), number and size of offspring,and parental care (Congdon and Tinkle 1982; Congdon 1989). In reproducing individuals these tradeoffs can come at the cost of increased food requirements, increased chances of mortality, slowed growth, and reduced mobility (Coleman and Whittall 1988; Tallamy and Denno 1982; Shine 1980).

Theoretical models suggest that energetic costs of reproduction can be put in two major components: 1) reproductive effort, the total resources available to be allocated to reproductive activities (courtship, egg production) and 2) parental investment, how total reproductive effort is allocated towards individual offspring (Congdon et al. 1982). Parental investment can be further partitioned into embryogenesis, parental investment to embryo development, and care of offspring pre or post birth (Congdon 1989; Congdon and Gibbons 1985). Parental care has most often been studied in species where offspring survival is primarily influenced by maternal investment post-birth, as in many altricial mammals and birds (Broderick et al. 2003; Rafferty and Reina 2012). In oviparous reptiles, however, the investment of energy to parental care is primarily limited to eggs prior to oviposition (Packard and Packard 1988). Available energy is budgeted into mate acquisition and fertilization, vitellogenesis, egg production, oviductal egg retention (post-fertlization), and nest site selection (Owens 1980; Wallace et al. 2006; Congdon et al 1983; Congdon 1989).

Oviductal egg retention is a pivotal reproductive strategy for regulating timing in oviposition in many oviparous species (Renfree and Shaw 2000; Lopes et al 2004; Rafferty and Reina 2012). Egg retention allows reproductive flexibility by permitting females the ability to prolong oviposition until environmental conditions are suitable or until they can locate appropriate nesting sites. They may also use this strategy to time oviposition to increase the chances of synchronized hatching of clutches among conspecifics…predator dilution (Ewert 1979; Andrews 2004; Rafferty and Reina 2012). Squamates, crocodilians, and chelonians have the greatest diversity in prolonging egg retention (Ewert 1991). The oviductal egg retention period and developmental arrest for most squamates is about 25%- 40% of the total embryonic period, while in turtles this period can be more prolonged (Shine 1983; DeMarco 1993; Ewert 1985; Rafferty and Reina 2012; Andrews and Mathies 2000).

Most turtles exhibit oviductal egg retention (Ewert 1985), and once eggs have been fertilized, they develop a calcified shell and are retained in the oviduct. Embryonic development is then arrested, and eggs remain at the Gastrula stage and are retained for an extended period of time before oviposition (Ewert 1985; Rafferty and Reina 2012). Timing of oviductal egg retention differs among chelonians with some species retaining eggs for only a couple of days as observed in the leatherback sea turtle (<10 days) (Boulon et al. 1996; Girondot and Fretey 1996) to some species retaining eggs for a couple months (Pseudemydura umbrina 35-49 days) to others retaining eggs for half a year (Deirochelys reticularia 4-6.5 months) (Kutchling 1999; Buhlmann et al. 1995). Despite pronounced differences in duration of egg retention, no studies have yet focused on the energetic costs of this important life strategy, rather most studies have primarily focused on the total energetic costs of reproduction (Schwarzkopf and Shine 1992; Stewart 2013).

Thus, the aim of this study was to assess the energetic cost of oviductal egg retention in Eastern Musk Turtles (Sternotherus odoratus), a species that actively uses oviductal egg retention over the reproductive season (Risley 1933). Because the embryos undergo developmental arrest during the oviductal egg retention period, and because they are at a relatively early and metabolically quiescent gastrula stage, the energetic cost to females maintaining the embryos in the oviduct should be low.

Hypothesis: We hypothesize that oviductal egg retention is a beneficial reproductive strategy because it permits flexibility in timing of oviposition at a relatively low energetic cost to the mother. .

Methods

jonestrap

jonestrap

-Turtles were collected using Jones Traps gravidfemale

-Turtles were marked, weighed, and length of carapace and plastron was measured

-Females were x-rayed to determine whether they were gravid

-Turtles housed for three days prior to sampling and allowed to become digestively post absorptive

-Open-circuit respirometry was used to measure CO2 production for 48 hrs.

-Closed-circuit respirometry was used to measures O2 consumption 24 hrs after oviposition

-Conversion factors were used to convert metabolic measurements to joules/hr

-Metabolic rates were adjusted for mass and an ANCOVA with a pairwise analysis was run

-A Mixed model was run to determine signficant effects on female metabolic rate

-Repeated measures ANOVA with a post hoc was run to determine if gravid metabolic rates over time were signficant

Site Description

Musk Turtles (Sternotherus odoratus) were captured from backwater sloughs along the Cumberland River, Cheatham County, Tennessee using Jones traps (Chandler et al. 2017).Traps were baited with canned tuna or sardines and placed in water deep enough to be mostly submerged, which allowed them to be left overnight and be checked the following day. Traps were left in the same location for a week prior to being moved. Traps were placed in murky/muddy water with duckweed covering.Trapping was conducted during the reproductive season from mid-May to September (Mitchell 1985, Ernst 1986, Ford and Moll 2004).

packages<-c("ggsn","leaflet","mapdata","maptools","OpenStreetMap","rgdal","smoothr","sf","sp","tidyverse","tmap")
sapply(packages, require, character.only=T)
##          ggsn       leaflet       mapdata      maptools OpenStreetMap 
##          TRUE          TRUE          TRUE          TRUE         FALSE 
##         rgdal       smoothr            sf            sp     tidyverse 
##          TRUE          TRUE          TRUE          TRUE          TRUE 
##          tmap 
##          TRUE
state <- map_data("state")
county <- map_data("county")
swamp_point <- data.frame("x" = -87.079223, "y" = 36.285647)
tn <- county %>% 
  filter(region=="tennessee")

montco <- county %>% 
  filter(region=="tennessee") %>% 
  filter(subregion=="cheatham")
map1<- ggplot() + geom_polygon(data = state, aes(x=long, y = lat, group = group),
                        fill = "white", color="black") + 
           geom_polygon(data = tn, aes(x=long, y = lat, group = group),
                        fill = "lightgrey", color="black") + 
           geom_polygon(data = montco, aes(x=long, y = lat, group = group),
                        fill = "darkgoldenrod2", color="black") + 
           geom_point(data = swamp_point, aes(x=x,y=y), color=" black") +
  coord_fixed(xlim = c(-91, -81),  ylim = c(34, 37), ratio = 1.2) + 
  xlab("Longitude") + ylab("Latitude") + ggtitle("Ashland City, Cheatham Co., TN")
map1

sterno_traping <- read_csv("sterno_traping.csv")
library(leaflet)
pal <- colorFactor(c( "brown", "darkgoldenrod2"), level = c("Absence", "Presence"))

map2<-leaflet(sterno_traping) %>% addProviderTiles(providers$Esri.WorldImagery) %>%
  addCircleMarkers(
    color = ~pal(Trap_Status),
    stroke = FALSE, fillOpacity = 0.5
  )%>%
   addLegend("bottomright", pal = pal, values = ~Trap_Status,
    title = "Turtle Trap Success",
    opacity = 1)
## Assuming "longitude" and "latitude" are longitude and latitude, respectively
map2

In Lab Methods

  • All turtes were brought back to the lab to be measured, given a unique marking, and if female were x-rayed to determine reproductive state (Gravid vs Non-Gravid)

  • Carbon dioxide production (VCO2) was measured for each individuals using flow through respirometry(Lighton 2008)

  • Metabolic measurements were taken once for males and non-gravid females, while both gravid metabolic rate and post oviposition metabolic rates were determined for each gravid female

  • Before intitiating a metabolic trial, turtles were fasted for 72 hours to allow food to clear the gut and ensure a post-absorptive digestive state

  • Temperature was controlled at a constant 25 degrees celcius and a 12:12 photoperiod was used for the duration of a 48 hr testing cycle

  • Carbon dioxide production was calculated at 3 sec intervals for the 48 h testing cycle, and the most level 15 min period from each 30 min sample was used to calculate the rate of gas exchange using the equations from Withers (1977) implemented in the program Lab Analyst (Warthog Systems)

  • Metabolic rate for each individual was considered to be the mean of the three lowest 15 min measurements during 48 h test period

  • Gravid females were measured over a weekly basis to obtain multiple measurements and were allowed to naturally oviposit eggs within a nest

  • Clutch metabolic rates were measured 24 hours post-oviposition using closed circuit O2 respirometer

Sterno_All <- read_csv("Sterno_All.csv")# this data sett includes data for males, gravid females, and non-gravid females
names(Sterno_All) <- c("Turtle_ID", "Group", "mL_CO2_hr_turtles", "Turtle_Mass","ml_O2_min_eggs", "whole_clutch_mass","ml_O2_hr_eggs")

Statisitcal Analyses

Adjusting for Egg Metabolism

Before we can run any tests we need to calculate energy produced during the respirometry run we need to convert our mL CO2/hr into joules/hr using conversion factors. The conversion factors were taken from Gessaman and Nagey 1988 and Reid et al 2009.

Egg energy expenditure: Conversion factor from Reid et al. 2009 VO2 converstion factor= 20.1 J/ml O2

Turtle energy expenditure: Conversion factor from Gessaman and Nagy 1988 VCO2 converstion factor= 24.32 KJ/ml CO2

After converting metabolic rates from mLCO2/h to joules/h we need to them subtract the metabolic rates of the whole clutch from the respected gravid female because we only want to examine the gravid females metabolic rate.

full_data_metabolic_rates<- Sterno_All%>% 
  mutate(Joules_hr_turtles= mL_CO2_hr_turtles*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(full_data_metabolic_rates[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
Table 1. A knitr kable metabolic rates of Musk Turtle data.
Turtle_ID Group mL_CO2_hr_turtles Turtle_Mass ml_O2_min_eggs whole_clutch_mass ml_O2_hr_eggs Joules_hr_turtles
ABL Gravid Female 4.708550 154 0.0002582 16.9 0.0154932 114.51194
ACI Gravid Female 3.683805 111 0.0001496 14.3 0.0089736 89.59014
ABU Gravid Female 5.171930 146 0.0002176 18.0 0.0130554 125.78134
ABT Gravid Female 5.103395 145 0.0003070 12.4 0.0184200 124.11457
ACT Gravid Female 4.757630 124 0.0002781 14.0 0.0166836 115.70556
ACO Gravid Female 5.281002 196 0.0003208 19.8 0.0192456 128.43396
AHT Gravid Female 3.886640 139 0.0003126 17.0 0.0187584 94.52308
AHM Gravid Female 2.935713 100 0.0001420 11.1 0.0085224 71.39655
AHL Gravid Female 4.439160 149 0.0003954 15.1 0.0237246 107.96037
AH Gravid Female 4.672387 126 0.0002273 11.0 0.0136392 113.63244
full_data_metabolic_rates_2<- full_data_metabolic_rates%>% 
  mutate(Joules_hr_whole_clutch= ml_O2_hr_eggs*20.1)
kable(full_data_metabolic_rates_2[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
Table 1. A knitr kable metabolic rates of Musk Turtle data.
Turtle_ID Group mL_CO2_hr_turtles Turtle_Mass ml_O2_min_eggs whole_clutch_mass ml_O2_hr_eggs Joules_hr_turtles Joules_hr_whole_clutch
ABL Gravid Female 4.708550 154 0.0002582 16.9 0.0154932 114.51194 0.3114133
ACI Gravid Female 3.683805 111 0.0001496 14.3 0.0089736 89.59014 0.1803694
ABU Gravid Female 5.171930 146 0.0002176 18.0 0.0130554 125.78134 0.2624135
ABT Gravid Female 5.103395 145 0.0003070 12.4 0.0184200 124.11457 0.3702420
ACT Gravid Female 4.757630 124 0.0002781 14.0 0.0166836 115.70556 0.3353404
ACO Gravid Female 5.281002 196 0.0003208 19.8 0.0192456 128.43396 0.3868366
AHT Gravid Female 3.886640 139 0.0003126 17.0 0.0187584 94.52308 0.3770438
AHM Gravid Female 2.935713 100 0.0001420 11.1 0.0085224 71.39655 0.1713002
AHL Gravid Female 4.439160 149 0.0003954 15.1 0.0237246 107.96037 0.4768645
AH Gravid Female 4.672387 126 0.0002273 11.0 0.0136392 113.63244 0.2741479
adjusting_metabolic_rates_gravid_females<- full_data_metabolic_rates_2%>%
  mutate(adj_energy_Joules_turtles=Joules_hr_turtles-Joules_hr_whole_clutch)
kable(adjusting_metabolic_rates_gravid_females[1:10,],format = "pandoc", caption = 'Table 1. Adjusted metabolic rates for Eastern Musk Turtles.')
Table 1. Adjusted metabolic rates for Eastern Musk Turtles.
Turtle_ID Group mL_CO2_hr_turtles Turtle_Mass ml_O2_min_eggs whole_clutch_mass ml_O2_hr_eggs Joules_hr_turtles Joules_hr_whole_clutch adj_energy_Joules_turtles
ABL Gravid Female 4.708550 154 0.0002582 16.9 0.0154932 114.51194 0.3114133 114.20052
ACI Gravid Female 3.683805 111 0.0001496 14.3 0.0089736 89.59014 0.1803694 89.40977
ABU Gravid Female 5.171930 146 0.0002176 18.0 0.0130554 125.78134 0.2624135 125.51892
ABT Gravid Female 5.103395 145 0.0003070 12.4 0.0184200 124.11457 0.3702420 123.74432
ACT Gravid Female 4.757630 124 0.0002781 14.0 0.0166836 115.70556 0.3353404 115.37022
ACO Gravid Female 5.281002 196 0.0003208 19.8 0.0192456 128.43396 0.3868366 128.04712
AHT Gravid Female 3.886640 139 0.0003126 17.0 0.0187584 94.52308 0.3770438 94.14604
AHM Gravid Female 2.935713 100 0.0001420 11.1 0.0085224 71.39655 0.1713002 71.22525
AHL Gravid Female 4.439160 149 0.0003954 15.1 0.0237246 107.96037 0.4768645 107.48351
AH Gravid Female 4.672387 126 0.0002273 11.0 0.0136392 113.63244 0.2741479 113.35830
Juveniles_Out <- adjusting_metabolic_rates_gravid_females[-c(14,15,16,17,18),] # taking the juveniles out because they have such different metabolic rates doesnt make sense to try to compare them to adults
head(Juveniles_Out)

Data Description

Below is a description of all the factor variables included within my data set.

Turtle_ID: 54 total individuals

Group: Gravid Females, Males, Non-Gravid Females

mlCO2/hr turtles: measured metabolic rates

Turtle_Mass: Individual turtle mass to the nearest gram

mlO2/min eggs: measured metabolic rates for whole clutch of eggs

Whole clutch mass: reported weigths(g) of the entire clutch for each gravid female

mlO2/hr eggs: measured metabolic rates for whole clutch of eggs

Joules/hr turtles: calculated joules per hour used my indivudal turtles using the conversion factor

Joules/hr whole clutch: calculated joules per hour used by the whole clutch from each gravid female

adj_energy_joules_turtles: subtracting the joules/hr for the clutch from each of the gravid females

Joules_energy_sterno<- Juveniles_Out%>%
  mutate(adj_mass_turtles=Turtle_Mass-whole_clutch_mass)
kable(Joules_energy_sterno[1:10,],format = "pandoc", caption = 'Table 6. A knitr kable Gravid SMR Musk Turtle data.')
Table 6. A knitr kable Gravid SMR Musk Turtle data.
Turtle_ID Group mL_CO2_hr_turtles Turtle_Mass ml_O2_min_eggs whole_clutch_mass ml_O2_hr_eggs Joules_hr_turtles Joules_hr_whole_clutch adj_energy_Joules_turtles adj_mass_turtles
ABL Gravid Female 4.708550 154 0.0002582 16.9 0.0154932 114.51194 0.3114133 114.20052 137.1
ACI Gravid Female 3.683805 111 0.0001496 14.3 0.0089736 89.59014 0.1803694 89.40977 96.7
ABU Gravid Female 5.171930 146 0.0002176 18.0 0.0130554 125.78134 0.2624135 125.51892 128.0
ABT Gravid Female 5.103395 145 0.0003070 12.4 0.0184200 124.11457 0.3702420 123.74432 132.6
ACT Gravid Female 4.757630 124 0.0002781 14.0 0.0166836 115.70556 0.3353404 115.37022 110.0
ACO Gravid Female 5.281002 196 0.0003208 19.8 0.0192456 128.43396 0.3868366 128.04712 176.2
AHT Gravid Female 3.886640 139 0.0003126 17.0 0.0187584 94.52308 0.3770438 94.14604 122.0
AHM Gravid Female 2.935713 100 0.0001420 11.1 0.0085224 71.39655 0.1713002 71.22525 88.9
AHL Gravid Female 4.439160 149 0.0003954 15.1 0.0237246 107.96037 0.4768645 107.48351 133.9
AH Gravid Female 4.672387 126 0.0002273 11.0 0.0136392 113.63244 0.2741479 113.35830 115.0

Group Metabolic Rates afyer adjusting for individual mass


X.mean <- mean(Joules_energy_sterno$adj_mass_turtles) #mean of the covariate
model_SMR <- lm(adj_energy_Joules_turtles ~ adj_mass_turtles+ Group, data=Joules_energy_sterno)
pred <- predict(model_SMR)
plot_SMR<- ggplot(data = cbind(Joules_energy_sterno, pred),
                 aes(adj_mass_turtles, adj_energy_Joules_turtles, lty=Group, pch=Group, colour=Group)) + geom_point(size=3.5) +
  geom_line(aes(y=pred), size=1.5)+
  geom_vline(xintercept = X.mean, alpha = 0.15)+
  xlab("Adjusted Mass (g)")+
  ylab("Metabolic Rate (Joules/hr)")+
  scale_colour_manual(values=c("grey27", "gray42", "gray67"))+
  theme_classic(base_size = 15)
  


plot_SMR+labs(colour= "Sex", linetype="Sex", pch="Group")

X.mean <- mean(Joules_energy_sterno$adj_mass_turtles) #mean of the covariate
model_SMR <- lm(adj_energy_Joules_turtles ~ adj_mass_turtles+ Group, data=Joules_energy_sterno)
pred <- predict(model_SMR)
plot_SMR2<- ggplot(data = cbind(Joules_energy_sterno, pred),
                 aes(adj_mass_turtles, adj_energy_Joules_turtles, lty=Group, pch=Group)) + geom_point(size=3.5) +
  geom_line(aes(y=pred), size=1.5)+
  geom_vline(xintercept = X.mean, alpha = 0.15)+
  xlab("Adjusted Mass (g)")+
  ylab("Metabolic Rate (Joules/hr)")+
  theme_classic(base_size = 15)
plot_SMR+ guides(fill = guide_legend(keywidth = 1, keyheight = 1),
    linetype=guide_legend(keywidth = 4, keyheight = 1),
    colour=guide_legend(keywidth = 4, keyheight = 1))

gravid_plot<- plot_SMR+ scale_x_continuous(breaks = c(50, 60, 70, 80,90, 100, 110, 120,130,140,150,160,170,180,190))+scale_y_continuous(breaks=c(20, 30, 40,50,60,70,80,90,100,110,120,130,140,150,160,170,180))
gravid_plot+ guides(fill = guide_legend(keywidth = 1, keyheight = 1, cex=0.75),
    linetype=guide_legend(keywidth = 4, keyheight = 1),
    colour=guide_legend(keywidth = 4, keyheight = 1))+
   theme(legend.position = c(.14,.90),legend.box.background = element_rect(colour = "black"),
         axis.text.x = element_text(vjust=0.5, size = 12),
         axis.text.y = element_text(vjust = 0.5, size=12),
         axis.title.x = element_text(size=14),
         axis.title.y= element_text(size=14),
         legend.text = element_text(color = "black", size = 14))+
  labs(caption = "Figure 1: Metabolic rates for gravid females (circle), males (triangle), and non-gravid females (square).Mean gravid female
metabolic rate adjusted for whole clutch metabolic rate (Joules/hr) and whole clutch mass (g).Mean whole metabolic rate for males
and non-gravid females for a 48-hour cycle.The line running at about 118 grams represents the adjusted means for the three
groups.")+
  theme(plot.caption = element_text(hjust = 0, size=14))

All turtles have a positive correlation in metabolic rates (joules/hr) while accounting for the adjusted turtle mass (subtracting the gravid female’s clutch mass from her mass in order to get the actual mass of the female). From the graph it looks as though gravid females have a higher metabolic rate then do males and non-gravid females for the the reproductive season. We will run an ANCOVA with a pairwise test to determine if this is the case for these turtles.

Before running an ANCOVA and a pairwise test I ran the an autoplot to check for potential outliers. Here we see in the normal Q-Q plot that three values (16,15,36) could be potential outliers, however, they do not seem to deviate from the line too much so they may be okay.The first and third plot do not show any signficant pattern which is good.

Checking Normality

autoplot(model_SMR)

ANCOVA/Adjusted Means between groups


I ran an ANCOVA with adjusted means analysis in order to determine the average metabolic rates for each group while accounting for the covariate of body mass.

smr<- lm(adj_energy_Joules_turtles~ adj_mass_turtles+Group, data=Joules_energy_sterno, digits=5)
anova(smr)
kable(anova(smr), format = "pandoc", caption ='Table 1. A summary kable displaying ANOVA summary table.')
Table 1. A summary kable displaying ANOVA summary table.
Df Sum Sq Mean Sq F value Pr(>F)
adj_mass_turtles 1 9959.259 9959.2592 24.587475 1.06e-05
Group 2 6550.128 3275.0639 8.085496 1.00e-03
Residuals 45 18227.437 405.0542 NA NA

The ANCOVA results support the linear plot above in that group (gravid female, male, non-gravid female) is signficant in determing metabolic rates of the indivdual turtle.The adjusted mass also was signficantly correlated with metabolic rates of the turtles (joules/hr) with a p-value< 0.05.

Emmeans

In order to adjust for the difference in mass of the three groups of turtles we need to use the package library(emmeans) to run our model.


library(emmeans)
adj_turtles_1<-emmeans(smr, ~ adj_mass_turtles:Group, digits=3)
adj_turtles_1
##  adj_mass_turtles Group             emmean   SE df lower.CL upper.CL
##               118 Gravid Female      103.4 5.61 45     92.1    114.7
##               118 Male                83.0 4.76 45     73.4     92.6
##               118 Non-Gravid Female   74.1 4.74 45     64.5     83.6
## 
## Confidence level used: 0.95
options(digits=3)
pairs(adj_turtles_1)
##  contrast                                                          estimate
##  118.30612244898,Gravid Female - 118.30612244898,Male                 20.38
##  118.30612244898,Gravid Female - 118.30612244898,Non-Gravid Female    29.29
##  118.30612244898,Male - 118.30612244898,Non-Gravid Female              8.91
##    SE df t.ratio p.value
##  7.39 45 2.760   0.0220 
##  7.35 45 3.990   0.0010 
##  6.72 45 1.330   0.3880 
## 
## P value adjustment: tukey method for comparing a family of 3 estimates

After adjusting for the means of the metabolic rates we can now run a pairwise analysis to see if there were any differences among the group. Here we see that we get a signficant diffence between gravid females and males (p-value-0.022). A signficant difference is also seen between gravid females and non-gravid females (p-value=0.001). A nonsignficant difference is reported when looking at males and non-gravid females (p-value=0.388).

Pre and Post Oviposition Metabolic Rate

Before plotting the data out or running a glm we need to adjust for female body mass (weight ranges for this group ranged from 100-196g)

Time_Scale_2 <- read_csv("Time_Scale_2.csv")
days_2<- Time_Scale_2[ -c( 7,14,19), ]
#Adjusted means 
#mean of the covariate,  
X.mean <- mean(Time_Scale_2$Female_Mass_g) 

#equal slopes ANCOVA
model2 <- lm(SMR_ml_CO2_hr ~ Female_Mass_g, Time_Scale_2)
anova(model2)
summary(model2)
## 
## Call:
## lm(formula = SMR_ml_CO2_hr ~ Female_Mass_g, data = Time_Scale_2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.0400 -0.5956 -0.0304  0.4160  2.9148 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    1.11968    0.73805    1.52  0.13508    
## Female_Mass_g  0.02136    0.00537    3.98  0.00021 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.958 on 54 degrees of freedom
## Multiple R-squared:  0.226,  Adjusted R-squared:  0.212 
## F-statistic: 15.8 on 1 and 54 DF,  p-value: 0.00021
#fits linear prediction lines (equal slopes)
pred1 <- predict(model2) 
#plot same slopes model and show the adjusted mean using a dashed line
ggplot(data = cbind(Time_Scale_2, pred1), aes(x= Female_Mass_g , y= SMR_ml_CO2_hr))+
  geom_point(aes(size = 10))+
  geom_line(aes(y=pred1)) +
  geom_vline(xintercept = X.mean, linetype ="dashed")+
  xlab("Body Mass (g)") + ylab(expression(CO[2]~Production~(mL~h^-1)))+
  theme_bw(base_size = 10)+
  theme(legend.position = "none")+
  ggtitle("Body Mass and VCO2 with Adjusted Mean")+
 theme(plot.title = element_text(hjust=0.5))

library(dplyr)
#adjust each data point to the mean of the covariate, along common slope
comm.slope <-coef(model2)[2]
data_adjusted <- Time_Scale_2%>%mutate(adjVCO2=SMR_ml_CO2_hr-(comm.slope)*(Female_Mass_g-X.mean))
mass_plot_2 <- ggplot(data = cbind(data_adjusted, pred1), aes(Female_Mass_g, SMR_ml_CO2_hr)) + 
  geom_point()+
  scale_x_continuous(breaks=c(90,100,110,120,130,140,150,160,170,180,190,200,210))+ 
  geom_vline(xintercept = X.mean, linetype="dashed", alpha = 0.45)+
  geom_segment(aes(x=Female_Mass_g, xend=X.mean, y=SMR_ml_CO2_hr, yend=data_adjusted$adjVCO2), size=.25)+
  #ggtitle("Points adjusted to mean of mass using common slope")+
   theme(plot.title = element_text(size=18))+
  xlab(expression(Body~Mass~(g))) + 
  ylab(expression(CO[2]~Production~(mL~h^-1))) + 
 geom_line(aes(y=pred1), linetype="solid", size=1) +#common slope of all points
  theme(panel.background = element_blank())+ 
  theme(axis.line = element_line(size = 0.5, colour = "black"))+
  theme(axis.text.x = element_text(vjust=0.5, size = 14),
         axis.text.y = element_text(vjust = 0.5, size=14),
         axis.title.x = element_text(size=15),
         axis.title.y= element_text(size=15))
mass_plot_2

Fig. # Adjusting 15 gravid females metabolic rates by adjusting each point to the mean of the covariate and fitting them along a common slope

time_plot_adjusted<- ggplot(data = data_adjusted, aes(x = Days_To_Oviposition, y = adjVCO2)) + 
  geom_point(aes(shape=Status), size=3)+
   scale_shape_manual(values = c(16, 1))+
   geom_point(aes(x=7, y=3.16), colour="black", pch=2, size=8)+
  geom_vline(xintercept = 0, col="black", alpha=0.7, linetype="solid")+
  geom_segment(aes(x=-75,xend=-2,y=3.98,yend=3.98), linetype="dashed", alpha=0.7)+
  xlab("Days Before Oviposition")+
  ylab(expression(CO[2]~Production~(mL~h^-1)))+
  theme_classic()
plot_adjusted<-time_plot_adjusted+ scale_x_continuous(breaks = c(-85,-80,-75, -70,-65, -60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5, 0,5, 10))+
  scale_y_continuous(limits=c(2,6.5))+
  labs(caption = "Figure 5 : Mass adjusted metabolic rates for 15 females throughtout oviducatal egg retention(GMR) period and post oviductal egg retention 
(NGMR) in Eastern Musk Turtles.The dotted line at zero represents a breakbetween metabolic rates taken for pre-oviposition and post-oviposition.
Number of individuals measured throughout time differed due to time of capture and oviposition.")+
  theme(legend.position = c(.88,.92),legend.text = element_text(size = 11, colour = "black"), legend.box.background = element_rect(colour = "black", size=1), plot.caption = element_text(hjust = 0, lineheight = 0.9, size=18),
       axis.text.x = element_text(vjust=0.5, size = 15),
         axis.text.y = element_text(vjust = 0.5, size=15),
         axis.title.x = element_text(size=16),
         axis.title.y= element_text(size=16))

Oviducal Egg retention Period

final_plot<- plot_adjusted + geom_smooth(method = "lm", formula = y ~ poly(x, 3), se = FALSE, colour="black")
final_plot

Plots to look at each individual over the egg retention period

time_plot<- ggplot(data = days_2, aes(x = Days_To_Oviposition, y = SMR_ml_CO2_hr, colour=Turtle_ID)) + 
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
   scale_shape_manual(values = c(16, 1))+
   geom_point(aes(x=7, y=2.942986711), colour="black", pch=2, size=8)+
  geom_vline(xintercept = 0, col="black", alpha=0.7, linetype="solid")+
  geom_segment(aes(x=-75,xend=-2,y=4.253994859,yend=4.253994859), linetype="dashed", alpha=0.9, colour="black", size=.75)+
  xlab("Days Before Oviposition")+
  ylab(expression(CO[2]~Production~(mL~h^-1)))+
  theme_classic()+
  theme(legend.position="none", axis.text.x = element_text(vjust=0.5, size = 14),
         axis.text.y = element_text(vjust = 0.5, size=14),
         axis.title.x = element_text(size=15),
         axis.title.y= element_text(size=15)) 
plot<-time_plot+ scale_x_continuous(breaks = c(-75, -70,-65, -60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5, 0,5, 10))+
  scale_y_continuous(limits=c(2,6.5))+
  labs(caption = "Figure 5 : Whole animal metabolic rates for 15 females throughtout oviducatal egg retention(GMR) period and post oviductal egg retention 
(NGMR) in Eastern Musk Turtles.The dotted line at zero represents a break between metabolic rates taken for pre-oviposition and post-oviposition.
Number of individuals measured throughout time differed due to time of capture and oviposition.")

     
 plot

Checking for collinerarty among predictor variables

glmer_data_mod<-egg_J[,c("Turtle_ID", "Status_2", "Joules_hr_females", "Days_To_Oviposition", "Female_Mass_g", "Joules_hr_eggs","Egg_Mass_g","Clutch_Size")]
corr.macro<-cor(glmer_data_mod[,3:8],method="kendall")
corr.macro
##                     Joules_hr_females Days_To_Oviposition Female_Mass_g
## Joules_hr_females               1.000              -0.444         0.377
## Days_To_Oviposition            -0.444               1.000        -0.193
## Female_Mass_g                   0.377              -0.193         1.000
## Joules_hr_eggs                  0.507              -0.447         0.354
## Egg_Mass_g                      0.417              -0.460         0.335
## Clutch_Size                     0.396              -0.527         0.247
##                     Joules_hr_eggs Egg_Mass_g Clutch_Size
## Joules_hr_females            0.507      0.417       0.396
## Days_To_Oviposition         -0.447     -0.460      -0.527
## Female_Mass_g                0.354      0.335       0.247
## Joules_hr_eggs               1.000      0.550       0.674
## Egg_Mass_g                   0.550      1.000       0.828
## Clutch_Size                  0.674      0.828       1.000

So it looks like we have some correlation occuring between the egg metabolic rate and egg mass and clutch size, so we shall keep egg metabolic rate in. P-values above 0.6 are considered to be correlated

means <- ddply(egg_J, "Status", summarise, rating.mean=mean(Joules_hr_females))
means
ggplot(egg_J, aes(x=Joules_hr_females)) + geom_histogram(binwidth=1, colour="black", fill="white") + 
  facet_grid(Status ~ .) +
  scale_x_continuous(breaks=seq(0,30,5)) +
  ggtitle("Poisson Distributions With Differing Means") +
  geom_vline(data=means, aes(xintercept=rating.mean), linetype="dashed", size=1, colour="red")

The top graph looks to be normally distributed meaning we should run a gaussion model

non_gravid_Out <- egg_J[-c(42,43,44,45,46,47,48,49,50,51,52,53,54,55,56),]# taking out non-gravid because we just want to look at gravid metabolic rates of females 

#CANDIDATE MODEL SET FOR AIC CRITERIA

cand.models <- list()
cand.models[[1]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Joules_hr_eggs+ Female_Mass_g+ Egg_Mass_g +(1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# uber global model
cand.models[[2]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Joules_hr_eggs+ Egg_Mass_g+ (1|Turtle_ID), family= "gaussian" (link="log"),data=non_gravid_Out)# only looking at affects of eggs
cand.models[[3]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Female_Mass_g+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# taking out factor of eggs 
cand.models[[4]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# just looking at days leading up to oviposition 
## boundary (singular) fit: see ?isSingular
cand.models[[5]]<- glmer(Joules_hr_females~  (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# null model
Modname <-paste("m", 1:length(cand.models), sep = "")
aictab(cand.set = cand.models, modnames = Modname, second.ord = TRUE)

so model three is the best model for fitting this data set

Summary of GLM

best_model<-glmer(Joules_hr_females~ Days_To_Oviposition+ Female_Mass_g+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)
summary(best_model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: gaussian  ( log )
## Formula: Joules_hr_females ~ Days_To_Oviposition + Female_Mass_g + (1 |  
##     Turtle_ID)
##    Data: non_gravid_Out
## 
##      AIC      BIC   logLik deviance df.resid 
##      374      382     -182      364       36 
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.7530 -0.6441 -0.0152  0.3313  3.0159 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  Turtle_ID (Intercept)   0       0.0    
##  Residual              396      19.9    
## Number of obs: 41, groups:  Turtle_ID, 15
## 
## Fixed effects:
##                     Estimate Std. Error t value Pr(>|z|)    
## (Intercept)          4.09596    0.15319   26.74  < 2e-16 ***
## Days_To_Oviposition -0.00246    0.00147   -1.67  0.09569 .  
## Female_Mass_g        0.00359    0.00105    3.42  0.00063 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) Dy_T_O
## Dys_T_Ovpst  0.172       
## Femal_Mss_g -0.934  0.139
## convergence code: 0
## boundary (singular) fit: see ?isSingular

Days to leading up to oviposition was not signficant as was shown in the figure above. Female body mass is signficant in this case as well which is why we had to adjust for it.

REML ANCOVA

Testing to see if there are any differences between the average metabolic rate of each 15 gravid females pre-ovipositional metabolic rate and her post-ovipositional metabolic rate with female body mass as the covariate

Time_Scale_2 <- read_csv("Time_Scale_2.csv")

Calculating Joules per hour for female turtles

adjusting_J<- Time_Scale_2%>% 
  mutate(Joules_hr_females= SMR_ml_CO2_hr*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(adjusting_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
Table 1. A knitr kable metabolic rates of Musk Turtle data.
Turtle_ID Status Status_2 SMR_ml_CO2_hr Days_To_Oviposition Female_Mass_g Egg_SMR_ml_O2_hr Egg_Mass_g Clutch_Size Joules_hr_females
ABL Gravid Metabolism 1 5.38 -43 155 0.015 16.9 4 130.7
ABL Gravid Metabolism 1 4.04 -25 153 0.015 16.9 4 98.3
ABT Gravid Metabolism 1 6.05 -59 149 0.018 12.4 3 147.1
ABT Gravid Metabolism 1 5.29 -43 145 0.018 12.4 3 128.8
ABT Gravid Metabolism 1 4.78 -33 145 0.018 12.4 3 116.2
ABT Gravid Metabolism 1 4.29 -15 139 0.018 12.4 3 104.3
ABU Gravid Metabolism 1 7.08 -34 151 0.013 18.0 4 172.3
ABU Gravid Metabolism 1 4.48 -17 144 0.013 18.0 4 108.9
ABU Gravid Metabolism 1 3.95 -7 144 0.013 18.0 4 96.1
ACI Gravid Metabolism 1 4.49 -60 112 0.009 14.3 4 109.3

Calculating Joule per hour eggs

egg_J<-adjusting_J %>% 
  mutate(Joules_hr_eggs= Egg_SMR_ml_O2_hr*20.1)
kable(egg_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
Table 1. A knitr kable metabolic rates of Musk Turtle data.
Turtle_ID Status Status_2 SMR_ml_CO2_hr Days_To_Oviposition Female_Mass_g Egg_SMR_ml_O2_hr Egg_Mass_g Clutch_Size Joules_hr_females Joules_hr_eggs
ABL Gravid Metabolism 1 5.38 -43 155 0.015 16.9 4 130.7 0.311
ABL Gravid Metabolism 1 4.04 -25 153 0.015 16.9 4 98.3 0.311
ABT Gravid Metabolism 1 6.05 -59 149 0.018 12.4 3 147.1 0.370
ABT Gravid Metabolism 1 5.29 -43 145 0.018 12.4 3 128.8 0.370
ABT Gravid Metabolism 1 4.78 -33 145 0.018 12.4 3 116.2 0.370
ABT Gravid Metabolism 1 4.29 -15 139 0.018 12.4 3 104.3 0.370
ABU Gravid Metabolism 1 7.08 -34 151 0.013 18.0 4 172.3 0.262
ABU Gravid Metabolism 1 4.48 -17 144 0.013 18.0 4 108.9 0.262
ABU Gravid Metabolism 1 3.95 -7 144 0.013 18.0 4 96.1 0.262
ACI Gravid Metabolism 1 4.49 -60 112 0.009 14.3 4 109.3 0.180

Subtracting eggs from mother

adj_energy_gravid<-egg_J %>%
  mutate(adj_J_females=Joules_hr_females-Joules_hr_eggs)
kable(adj_energy_gravid[1:13,],format = "pandoc", caption = 'Table 7. A knitr kable Gravid SMR Musk Turtle data.')
Table 7. A knitr kable Gravid SMR Musk Turtle data.
Turtle_ID Status Status_2 SMR_ml_CO2_hr Days_To_Oviposition Female_Mass_g Egg_SMR_ml_O2_hr Egg_Mass_g Clutch_Size Joules_hr_females Joules_hr_eggs adj_J_females
ABL Gravid Metabolism 1 5.38 -43 155 0.015 16.9 4 130.7 0.311 130.4
ABL Gravid Metabolism 1 4.04 -25 153 0.015 16.9 4 98.3 0.311 98.0
ABT Gravid Metabolism 1 6.05 -59 149 0.018 12.4 3 147.1 0.370 146.8
ABT Gravid Metabolism 1 5.29 -43 145 0.018 12.4 3 128.8 0.370 128.4
ABT Gravid Metabolism 1 4.78 -33 145 0.018 12.4 3 116.2 0.370 115.8
ABT Gravid Metabolism 1 4.29 -15 139 0.018 12.4 3 104.3 0.370 104.0
ABU Gravid Metabolism 1 7.08 -34 151 0.013 18.0 4 172.3 0.262 172.0
ABU Gravid Metabolism 1 4.48 -17 144 0.013 18.0 4 108.9 0.262 108.6
ABU Gravid Metabolism 1 3.95 -7 144 0.013 18.0 4 96.1 0.262 95.9
ACI Gravid Metabolism 1 4.49 -60 112 0.009 14.3 4 109.3 0.180 109.1
ACI Gravid Metabolism 1 3.68 -44 112 0.009 14.3 4 89.5 0.180 89.3
ACI Gravid Metabolism 1 2.83 -36 111 0.009 14.3 4 68.8 0.180 68.6
ACI Gravid Metabolism 1 3.73 -17 109 0.009 14.3 4 90.8 0.180 90.6
adj_gravid_mass<-adj_energy_gravid %>%
  mutate(adj_mass=Female_Mass_g-Egg_Mass_g)
kable(adj_gravid_mass[1:13,],format = "pandoc", caption = 'Table 8. A knitr kable Gravid SMR Musk Turtle data.')
Table 8. A knitr kable Gravid SMR Musk Turtle data.
Turtle_ID Status Status_2 SMR_ml_CO2_hr Days_To_Oviposition Female_Mass_g Egg_SMR_ml_O2_hr Egg_Mass_g Clutch_Size Joules_hr_females Joules_hr_eggs adj_J_females adj_mass
ABL Gravid Metabolism 1 5.38 -43 155 0.015 16.9 4 130.7 0.311 130.4 138.1
ABL Gravid Metabolism 1 4.04 -25 153 0.015 16.9 4 98.3 0.311 98.0 136.1
ABT Gravid Metabolism 1 6.05 -59 149 0.018 12.4 3 147.1 0.370 146.8 136.6
ABT Gravid Metabolism 1 5.29 -43 145 0.018 12.4 3 128.8 0.370 128.4 132.6
ABT Gravid Metabolism 1 4.78 -33 145 0.018 12.4 3 116.2 0.370 115.8 132.6
ABT Gravid Metabolism 1 4.29 -15 139 0.018 12.4 3 104.3 0.370 104.0 126.6
ABU Gravid Metabolism 1 7.08 -34 151 0.013 18.0 4 172.3 0.262 172.0 133.0
ABU Gravid Metabolism 1 4.48 -17 144 0.013 18.0 4 108.9 0.262 108.6 126.0
ABU Gravid Metabolism 1 3.95 -7 144 0.013 18.0 4 96.1 0.262 95.9 126.0
ACI Gravid Metabolism 1 4.49 -60 112 0.009 14.3 4 109.3 0.180 109.1 97.7
ACI Gravid Metabolism 1 3.68 -44 112 0.009 14.3 4 89.5 0.180 89.3 97.7
ACI Gravid Metabolism 1 2.83 -36 111 0.009 14.3 4 68.8 0.180 68.6 96.7
ACI Gravid Metabolism 1 3.73 -17 109 0.009 14.3 4 90.8 0.180 90.6 94.7
gravid_data_2 <- read_csv("gravid_data_2.csv")
x1  = factor(gravid_data_2$Status, levels=c("Pre-Oviposition", "Post-Oviposition"))

Spaghetti Plot of Pre and Post Oviposition

line<-ggplot(data = gravid_data_2, aes(x =x1, y = SMR, group = Turtle_ID)) + 
    geom_line(lwd=0.75, alpha=0.6) + 
  scale_y_continuous(limits=c(2,5.5))+
geom_point(alpha=0.6)+
  xlab("Time")+
  ylab(expression(CO[2]~Production~(mL~h^-1)))+
  theme_bw()+
  labs(caption = 
  "Figure 4: Whole metabolic rates (joules/hr) pre and post oviposition A) whole female gravid   
  metabolic rates and non-gravid metabolic rates for 15 total individuals.")+
  theme( axis.text.x = element_text(vjust=0.5, size = 14),
         axis.text.y = element_text(vjust = 0.5, size=14),
         axis.title.x = element_text(size=15),
         axis.title.y= element_text(size=15))
  line

smr<- lm(adj_J_females~ adj_mass+Status, data=adj_gravid_mass,  REML = FALSE, digits=5)
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra arguments 'REML', 'digits' will be disregarded
anova(smr)
adj_turtles_1<-emmeans(smr, ~ adj_mass:Status, digits=3)
adj_turtles_1
##  adj_mass Status                emmean   SE df lower.CL upper.CL
##       125 Gravid Metabolism      106.7 3.05 53    100.5    112.8
##       125 Non-Gravid Metabolism   71.6 5.04 53     61.5     81.7
## 
## Confidence level used: 0.95
pairs(adj_turtles_1)
##  contrast                                                                   
##  124.883928571429,Gravid Metabolism - 124.883928571429,Non-Gravid Metabolism
##  estimate   SE df t.ratio p.value
##        35 5.89 53 5.950   <.0001

Lineaer Regressions

Linear regression was used to determine whether whole clutch mass, clutch size (number of eggs per clutch), whole clutch metabolic rate, female body mass, or mean egg width significantly influenced the total cost of oviductal egg retention (AGMR – POMR).

gravid_data <- read_csv("gravid_data.csv")
gravid_j<- gravid_data%>% 
  mutate(Gravid_J= SMR_gravid*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(gravid_j[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
Table 1. A knitr kable metabolic rates of Musk Turtle data.
Turtle_ID Turtle_ID_2 SMR_gravid SMR_nongravid Female_Mass_g Egg_Mass_g Clutch_Size Egg_SMR Gravid_J
ABL 1 4.71 2.90 154 16.9 Four 0.015 114.5
ABT 2 5.10 4.21 145 12.4 Three 0.018 124.1
ABU 3 5.17 3.45 146 18.0 Four 0.013 125.8
ACI 4 3.68 2.52 111 14.3 Four 0.009 89.6
ACT 5 4.76 3.43 124 14.0 Four 0.017 115.7
ACO 6 5.28 2.88 196 19.8 Four 0.019 128.4
ABI 7 4.45 2.92 167 15.5 Four 0.017 108.3
AHM 8 2.94 2.73 100 11.1 Three 0.009 71.4
AHT 9 3.89 2.88 139 17.0 Six 0.019 94.5
AHL 10 4.44 2.60 149 15.1 Five 0.024 108.0
egg_J<-gravid_j%>%
  mutate(Eggs_J= Egg_SMR*20.1)
kable(egg_J[1:13,],format = "pandoc", caption = 'Table 6. A knitr kable Gravid SMR Musk Turtle data.')
Table 6. A knitr kable Gravid SMR Musk Turtle data.
Turtle_ID Turtle_ID_2 SMR_gravid SMR_nongravid Female_Mass_g Egg_Mass_g Clutch_Size Egg_SMR Gravid_J Eggs_J
ABL 1 4.71 2.90 154 16.9 Four 0.015 114.5 0.311
ABT 2 5.10 4.21 145 12.4 Three 0.018 124.1 0.370
ABU 3 5.17 3.45 146 18.0 Four 0.013 125.8 0.262
ACI 4 3.68 2.52 111 14.3 Four 0.009 89.6 0.180
ACT 5 4.76 3.43 124 14.0 Four 0.017 115.7 0.335
ACO 6 5.28 2.88 196 19.8 Four 0.019 128.4 0.387
ABI 7 4.45 2.92 167 15.5 Four 0.017 108.3 0.343
AHM 8 2.94 2.73 100 11.1 Three 0.009 71.4 0.171
AHT 9 3.89 2.88 139 17.0 Six 0.019 94.5 0.377
AHL 10 4.44 2.60 149 15.1 Five 0.024 108.0 0.477
AIN 11 4.51 3.85 139 10.5 Three 0.013 109.6 0.265
AHO 12 4.43 2.04 105 13.6 Four 0.017 107.8 0.345
AH 13 4.67 2.73 126 11.0 Three 0.014 113.6 0.274
modlm<- lm(Gravid_J~  Egg_Mass_g+ Female_Mass_g+Clutch_Size, data=egg_J)
summary(modlm)
## 
## Call:
## lm(formula = Gravid_J ~ Egg_Mass_g + Female_Mass_g + Clutch_Size, 
##     data = egg_J)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -22.06  -3.64   0.00   9.45  12.71 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)
## (Intercept)        53.099     34.011    1.56     0.16
## Egg_Mass_g         -0.423      3.358   -0.13     0.90
## Female_Mass_g       0.411      0.247    1.66     0.13
## Clutch_SizeFour     7.838     14.688    0.53     0.61
## Clutch_SizeSix     -8.524     20.800   -0.41     0.69
## Clutch_SizeThree    3.947     17.674    0.22     0.83
## Clutch_SizeTwo    -29.835     29.447   -1.01     0.34
## 
## Residual standard error: 13.4 on 8 degrees of freedom
## Multiple R-squared:  0.624,  Adjusted R-squared:  0.342 
## F-statistic: 2.21 on 6 and 8 DF,  p-value: 0.147
options(na.action = "na.fail")
pairs(egg_J[,3:6], lower.panel = NULL)

eggs.all.parms<-lm(Gravid_J~Clutch_Size+Egg_Mass_g+Female_Mass_g, data = egg_J)

# the dredge function fits all combinations
# of the variables in the GPA.all.parms model fit above
results<-dredge(eggs.all.parms)
## Fixed term is "(Intercept)"
results
importance(results)
##                      Female_Mass_g Egg_Mass_g Clutch_Size
## Sum of weights:       0.52           0.5      <0.01      
## N containing models:     4             4          4
modlm<- lm(Gravid_J~  Female_Mass_g+ Egg_Mass_g, data=egg_J)
summary(modlm)
## 
## Call:
## lm(formula = Gravid_J ~ Female_Mass_g + Egg_Mass_g, data = egg_J)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -20.73  -9.48  -1.14   9.99  18.82 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)  
## (Intercept)     47.907     22.105    2.17    0.051 .
## Female_Mass_g    0.240      0.182    1.32    0.212  
## Egg_Mass_g       1.820      1.419    1.28    0.224  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14 on 12 degrees of freedom
## Multiple R-squared:  0.386,  Adjusted R-squared:  0.283 
## F-statistic: 3.77 on 2 and 12 DF,  p-value: 0.0538
modlm<- lm(Gravid_J~  Clutch_Size, data=egg_J)
summary(modlm)
## 
## Call:
## lm(formula = Gravid_J ~ Clutch_Size, data = egg_J)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -33.30  -4.20   0.00   6.94  19.42 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        107.96      16.19    6.67  5.6e-05 ***
## Clutch_SizeFour      4.28      17.17    0.25     0.81    
## Clutch_SizeSix     -13.44      22.90   -0.59     0.57    
## Clutch_SizeThree    -3.26      18.10   -0.18     0.86    
## Clutch_SizeTwo     -29.71      22.90   -1.30     0.22    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 16.2 on 10 degrees of freedom
## Multiple R-squared:  0.318,  Adjusted R-squared:  0.0447 
## F-statistic: 1.16 on 4 and 10 DF,  p-value: 0.383
modlm<- lm(Gravid_J~  Egg_Mass_g, data=egg_J)
summary(modlm)
## 
## Call:
## lm(formula = Gravid_J ~ Egg_Mass_g, data = egg_J)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -26.81  -6.80   2.46   8.57  22.20 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)    66.57      17.46    3.81   0.0022 **
## Egg_Mass_g      2.85       1.22    2.34   0.0358 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.4 on 13 degrees of freedom
## Multiple R-squared:  0.297,  Adjusted R-squared:  0.242 
## F-statistic: 5.48 on 1 and 13 DF,  p-value: 0.0358
modlm<- lm(Gravid_J~  Female_Mass_g, data=egg_J)
summary(modlm)
## 
## Call:
## lm(formula = Gravid_J ~ Female_Mass_g, data = egg_J)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -29.80  -8.01   2.04  12.45  16.26 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)  
## (Intercept)     55.677     21.781    2.56    0.024 *
## Female_Mass_g    0.369      0.156    2.37    0.034 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.4 on 13 degrees of freedom
## Multiple R-squared:  0.301,  Adjusted R-squared:  0.248 
## F-statistic: 5.61 on 1 and 13 DF,  p-value: 0.0341
egg_J$Clutch_Size<- factor(egg_J$Clutch_Size, levels = c("Two", "Three", "Four", "Five","Six"))
plot_grid(plot2,plot4,plot1, plot3, labels=c('A','B','C', 'D'))
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'

The energetic cost of oviductal egg retention (AGMR-POMR) was related to whole-clutch mass and female body mass (fig. 4a, F1,14 = 6.86, P=0.02 and fig. 4c, F1,14 = 2.37, P=0.034) such that heavier clutches and heavier females increased gravid female metabolic rate. Clutch size did not significantly relate to GMR (fig.4b, F1,14= 2.15, P=0.17) but clutch mass did influence whole-clutch metabolic rates (fig. 4d, F1,14= 5.31, P=0.04).

Discusssion

  • Gravid females had a ~40% increase in metabolism while gravid, an increased energetic cost of reproduction associated with oviductal egg retention.

  • Metabolic costs associated with egg retention were relatively constant across days leading up to oviposition, potentially due to the state of developmental arrest of the embryos.

  • The energetic costs of oviductal egg retention were affected by the total clutch metabolism and whole clutch mass.

  • Further, metabolic rates of gravid females were significantly elevated from males and non-gravid females indicating a substantial metabolic cost of reproduction for gravid females.

  • Eastern Musk Turtles (Sternotherus odoratus) energetic costs towards retaining eggs during oviductal egg production was more than double that of what was observed for Eastern Box Turtles (Terrapene carolina); 16% increase in energy compared to non-gravid energy investments (Clinger 2016).

Conclusion

Our study suggests that allocating reproductive resources towards extended oviductal egg retention is energetically expensive for S. odoratus. Though a costly strategy for gravid musk turtles, oviductal egg retention may offer advantageous characteristics for the clutch offered up by the microclimates in which they are laid. The difference we saw between S. odoratus and T. carolina in metabolic costs (~40% and 16.7% respectively) could be a result of differing life histories, although without additional references it is unclear how costs would change within and among conspecifics. Taxa that have similar life history patterns should have similar energetic costs associated with oviductal egg retention. Furthermore, comparative studies of related taxa that vary in timing of oviductal egg retention will help to determine the consequences and benefits of extended egg retention.